As modern smart phone systems on chips (SoCs) become more integrated and powerful, with the ability to execute concurrent multimedia applications or sessions, and as requirements for extended battery life and smaller form factor become more stringent, solutions to power and battery management issues are becoming more challenging. An example of concurrent multimedia applications include a game application and a videoconferencing application both executing on the same device and providing multimedia output, for example, in different windows on the display of the device. The multimedia output may be generated by subsystems within the device, such as camera modules and graphics systems. Multiple devices may be involved in at least some of the concurrent multimedia applications. The multimedia output may thus include multimedia information received from other devices, such as over a network connection.
For various reasons, mobile computing devices running multiple concurrent multimedia applications may experience excessive power consumption. A significant portion of such power consumption may be attributable to providing high resolution multimedia video, images and graphics and other concurrent multimedia data flows. When running concurrent multimedia applications and processes, mobile computing devices, and their systems on chip (SoCs) may not meet their thermal limits. For this reason, performance levels may not be sustainable at the multimedia parameter settings such as resolution, frame rate, Level of Detail (LoD) or other parameter settings ordinarily specified for the applications as environmental conditions exceed power budget and/or thermal limits.
Current approaches to remaining within limits use hardware-level frequency throttling of a limited number of hardware subsystems when power consumption and/or temperature thresholds or limits are reached or exceeded. In current systems, the operating frequency, and thus processing power, of the entire device is limited regardless of the cause of the power consumption, thermal issues, or the types of applications in use. When frequencies are throttled or limited for only some of the subsystems in a mobile computing device, critical performance aspects of applications may suffer and the user experience may be compromised. There is currently no operating system (OS)-level centralized framework for controlling multimedia parameters associated with other processor intensive aspects of applications, such as the image resolution, frame rate, LoD or other parameters for concurrent multimedia data flows.
Current solutions to managing the power consumption and thermal budgeting issues, involve throttling frequency on main hardware system sub-blocks of the SoC, such as the central processing unit (CPU), and graphics processing unit (GPU). When measured temperature and power consumption levels exceed limits, frequency throttling of these sub-blocks takes place at the hardware level. Indiscriminate throttling of frequency across main processing sub-blocks may lower the frame rate of concurrent multimedia data flows without consideration of the respective software level or user level contribution of each of the applications or multimedia data flows to the user experience or the thermal/power consumption problem. Further, throttling main sub-blocks may cause inefficiencies based on other hardware modules continuing to generate multimedia data flows at the original resolution/frame rate/LoD. Specifically, non-throttled sub-blocks that precede or follow the frequency throttled hardware system sub-blocks along multimedia data flow paths may unnecessarily process multimedia data flows at full frequency leading to unnecessary power consumption and inefficient power reduction or control.
In current systems, each application decides the multimedia parameters, such as resolution, frame rate and LoD. There is no centralized, OS-level process for deciding multimedia parameters based, for example, on power budget and priority of each data flow.